package com.sc.nft.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.sc.nft.enums.MarketTypeEnum;
import com.sc.nft.sup.SuperEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 二级藏品配置表(sc_second_collection_config)实体类
 *
 * @author kancy
 * @description 由 Mybatisplus Code Generator 创建
 * @since 2022-10-03 16:53:14
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("sc_second_collection_config")
public class SecondCollectionConfig extends SuperEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 藏品Id
     */
    private Long collectionId;
    /**
     * 手续费
     */
    private BigDecimal charge;
    /**
     * 起始价
     */
    private BigDecimal startPrice;
    /**
     * 最小价
     */
    private BigDecimal minPrice;
    /**
     * 最高价
     */
    private BigDecimal maxPrice;
    /**
     * 增长率
     */
    private BigDecimal upRatio;
    /**
     * 状态
     */
    private Boolean status;
    /**
     * 市场分类 :1:品牌孵化 2:自由市场
     */
    private MarketTypeEnum marketType;

    /**
     * 孵化周期
     */
    private Integer incubationCycle;

    /**
     * 是否开启拆配 0:否 1:是
     */
    private Boolean isDisassembly;
    /**
     * 拆配倍数
     */
    private Integer disassemblyMultiple;
    /**
     * 剩余拆配天数
     */
    private Integer lastDisassemblyDay;

    /**
     * 用户购买份额
     */
    private Integer buyShares;

    /**
     * 累积涨幅
     */
    private BigDecimal cumulativeIncrease;

    /**
     * 寄售规则
     */
    private String consignExplanation;

    /**
     * 自由交易向上百分比
     */
    private BigDecimal freeUpRatio;

    /**
     * 自由交易向下百分比
     */
    private BigDecimal freeDownRatio;

    /**
     * 浮动价格
     */
    private BigDecimal floatingPrice;
    /**
     * 分润模板Id
     */
    private Long shareProfitPanelId;


    /**
     * 是否锁仓
     */
    private Boolean isLockedPosition;

    /**
     * 锁仓类型 0:省缺 1:时间模式 2:日期形式 时间模式是获取藏品后延后多久,日期形式是统一锁到对应的时间
     */
    private Integer lockedPositionType;

    /**
     * 锁仓市场小时
     */
    private Integer lockedPositionHour;

    /**
     * 锁仓到期日期
     */
    private Date lockedPositionTime;

    @ApiModelProperty("是否为平台展示")
    private Boolean platformShow;

    @ApiModelProperty("是否为品牌岛展示")
    private Boolean brandShow;

    @ApiModelProperty("是否为企业展示")
    private Boolean firmShow;
    /**
     * 自由市场排序
     */
    private Integer sort;

    @ApiModelProperty("gas上链费")
    private BigDecimal gas;

    @ApiModelProperty("共识区最低价")
    private BigDecimal consensusMinPrice;
    @ApiModelProperty("共识区最高")
    private BigDecimal consensusMaxPrice;
    @ApiModelProperty("共识区上涨次数")
    private Integer consensusUpTime;
    @ApiModelProperty("共识区下跌次数")
    private Integer consensusDownTime;

    @ApiModelProperty("是否开启求购")
    private Boolean enableWantBuy;

    @ApiModelProperty("最低求购价")
    private BigDecimal minWantBuyPrice;

    @ApiModelProperty("最高求购价")
    private BigDecimal maxWantBuyPrice;

    @ApiModelProperty("单次最高求购数量")
    private Integer wantBuyQuantity;

    @ApiModelProperty("求购持有条件")
    private Boolean enableWantBuyHoldCondition;

    @ApiModelProperty("求购消耗道具")
    private Boolean enableWantBuyConsumeProp;

    @ApiModelProperty("求购持有藏品id")
    private Long wantBuyHoldCollectionId;

    @ApiModelProperty("求购消耗道具id")
    private Long wantBuyConsumePropId;

    @ApiModelProperty("求购消耗道具数量")
    private Integer wantBuyConsumePropQuantity;

}